{{tag> Hardy Intrepid Jaunty scanner graphisme ocr brouillon}}

----

====== xsane2tess : un adaptateur tesseract pour Xsane ======

**xsane2tess** est un adaptateur (wrapper) permettant d'utiliser le moteur de reconnaissance optique de caractères [[:tesseract-ocr|tesseract]]  avec l'interface graphique [[:xsane|XSane]]. xsane2tess, inspiré de [[http://www.geocities.com/thierryguy/ocube.html|ocube]], a été proposé par MadMax sur le forum [[http://www.mandrivauser.de/viewtopic.php?pid=166894#p166894|MandrivaUser.de]].


===== Pré-requis =====

Pour utiliser xsane2tess, il faut installer [[:tesseract-ocr|tesseract]] avec les modules de langue que l'on souhaite pouvoir utiliser.

Il est nécessaire [[:tutoriel:comment_installer_un_paquet|d'installer les paquets]] **xsane** et **imagemagick**.



A partir d'Ubuntu 10.10, il faut installer, à la place de **imagemagick**, les paquets **graphicsmagick** et **graphicsmagick-imagemagick-compat**.
===== Installation =====

On peut utiliser au choix l'une ou l'autre méthode ci-dessous : installer avec le paquet deb, ce qui est plus simple et plus rapide (mais possible que si tesseract a été installé avec le paquet deb de "b52"), ou bien installer soi-même le script "à la main", ce qui fonctionne quelle que soit la façon dont on a installé tesseract (et permet accessoirement de comprendre davantage le fonctionnement).




==== Avec le paquet deb de GuadaUsers ====
//[[http://guadausers.es/|GuadaUsers]] propose un dépôt non-officiel de paquets debian, hébergé par tuxfamily, pour la distribution GNU/Linux Guadalinex (distribution andalouse, basée sur Ubuntu. Guadalinex V4 = Edgy, Guadalinex V5 = Hardy).//

<note important>Attention : ce paquet ne peut être utilisé que si tesseract a été installé avec le paquet deb de "b52". Si tesseract a été installé par les dépôts Ubuntu (par apt-get, synaptic ou aptitude), il faut installer xsane2tess "à la main" comme indiqué dans le paragraphe suivant... ce qui n'est pas compliqué !</note>

**1°) Télécharger et installer [[http://download.tuxfamily.org/guadausers/guadaV4/xsane2tess_1.0-1guadausers1_i386.deb|le paquet deb de GuadaUsers]]**, adapté aussi bien pour les architectures 32 bits que pour les 64 bits (i386 et amd64).
//Ce paquet a été testé sous Ubuntu Edgy et Gutsy.//

**2°) Créer un dossier tmp dans /home/votre_identité.**
  * xsane2tess aura besoin de ce dossier pour placer son fichier de log : ///home/votre_identité/tmp/xsane2tess.log
//
  * Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs.


==== En installant soi-même le script "à la main" ====

**1°) Copier le script ci-dessous dans un fichier** (sur votre bureau) et l'enregistrer sous le nom de **xsane2tess**

  #!/bin/bash
  #
  #
  ##############################################################################
  #
  #                                   xsane2tess 1.0
  #
  #                          *** tesseract made simple ***
  #
  #
  ##############################################################################
  # 
  # xsane2tess is a TesseractOCR wrapper to be able to use tesseract with xsane
  #
  #
  #
  TEMP_DIR=~/tmp/      # folder for temporary files (TIFF & tesseract data)
  ERRORLOG="xsane2tess.log"  # file where STDERR goes 
  
  if [[ -z "$1"  ]]
    then
    echo "Usage: $0 [OPTIONS]
  
    xsane2tess converts files to TIF, scans them with TesseractOCR
    and outputs the text in a file.
  
    OPTIONS:
      -i <file1>  define input file (any image-format supported)
      -o <file2>  define output-file (*.txt)
      -l <lang>  define language-data tesseract should use
  
    Progress- & error-messages will be stored in this logfile:
       $TEMP_DIR$ERRORLOG
  
    xsane2tess depends on
      - ImageMagick  http://www.imagemagick.org/
      - TesseractOCR http://code.google.com/p/tesseract-ocr/
  
    Some coding was stolen from 'ocube'
    http://www.geocities.com/thierryguy/ocube.html
  "
    exit
  fi
  
  
  # get options...
  while getopts ":i:o:l:" OPTION
    do
    case $OPTION in 
      i)  # input filename (with path)
        FILE_PATH="$OPTARG"
      ;;
      o )  # output filename
        FILE_OUT="$OPTARG"
      ;;
      l )  # Language-selection
        TES_LANG="$OPTARG"
      ;;
    esac
  done
  
  # redirect STDOUT to FILE_OUT
  exec 1>>$FILE_OUT
  
  # redirect STDERR to ERRORLOG
  exec 2>>$TEMP_DIR$ERRORLOG
  
  # strip path from FILE_PATH, use filename only
  IN_FILE=${FILE_PATH##*/}
  
  TIF_FILE="$TEMP_DIR""${IN_FILE%.*}".tif
  TXT_FILE="$TEMP_DIR""${IN_FILE%.*}"
  
  # converting image into TIFF (ImageMagick)
  convert "$FILE_PATH" -compress none  "$TIF_FILE" 1>&2
  
  # start OCR (tesseract expands output with *.txt)
  tesseract "$TIF_FILE" "$TXT_FILE" -l "$TES_LANG" 1>&2
  
  # STDOUT scanned text => FILE_OUT
  cat "$TXT_FILE".txt
  
  # delete graphic file after use
  rm "$TIF_FILE"
  
  # delete tesseract output
  rm "$TXT_FILE".txt
**
2°) Rendre exécutable ce fichier** xsane2tess
Clic droit sur le fichier --> Propriétés --> onglet "Permissions" --> Cocher la case "Autoriser l'exécution du fichier comme un programme".

**3°) Copier ce fichier xsane2tess dans /usr/bin**
  sudo cp /home/votre_identité/Desktop/xsane2tess /usr/bin
ou
  sudo cp /home/votre_identité/Bureau/xsane2tess /usr/bin
Mettre le bon chemin en remplaçant dans ce chemin "votre_identité" par votre identité sous Ubuntu... et en mettant "Desktop" ou "Bureau" selon la façon dont le nom de votre bureau est enregistré dans votre version d'Ubuntu !

**4°) Créer un dossier tmp dans /home/votre_identité.**
  * xsane2tess aura besoin de ce dossier pour placer son fichier de log : ///home/votre_identité/tmp/xsane2tess.log
//
  * Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs.




===== Utilisation =====

Ouvrir XSane : Applications -> Graphisme -> Scanneur d'images XSane

Dans Préférences -> Configuration -> Onglet "OCR" :
  * **Commande OCR** : xsane2tess -l fra 
  * **Option de fichier d'entrée** : -i
  * **Option de fichier de sortie** : -o

<note important>Dans l'onglet OCR de XSane, les indications ci-dessus ("**xsane2tess -l fra**", "-i" et "-o") ne doivent pas être précédées **ni suivies** d'une espace. La présence d'une espace avant **ou après** ces indications entraine un dysfonctionnement d'xsane2tess. Par contre, dans "xsane2tess -l fra", il faut bien une espace entre "xsane2tess" et "-l", et une autre entre "-l" et "fra".</note>
<note important>N.B. : dans la commande OCR "xsane2tess -l fra", l'indication de la langue est précédée par l'option "-l" (la lettre "L" minuscule et non le chiffre "1").</note>
<note important>**Attention : pas d'espace dans les noms des chemins (des répertoires) ou des fichiers** (indiqués dans la fenêtre d'Xsane) pour effectuer la reconnaissance optique de caractère.
</note>
La langue du texte à scanner peut être modifiée quand on le veut dans le menu de configuration de XSane [[:tesseract-ocr#les_options_de_langues|(l'option-l)]], à condition d'avoir installé les fichiers de langues correspondants de tesseract, comme indiqué dans le paragraphe Pré-requis.

XSane présente le grand avantage de permettre la sélection des colonnes ou zones d'un texte l'une après l'autre grâce à la prévisualisation, avant de scanner, et donc  avant traitement ROC par tesseract.

On obtient de bons résultats en scannant à 300 ppi, noir et blanc (fichier  "type : TEXT"). Les fichiers contenant le texte sont par défaut créés sur le bureau.
Pour plus de précisions, voir le paragraphe sur [[:ocr#xsane|la ROC avec XSane]].

Il suffit de copier-coller les fichiers obtenus dans un fichier OOo Writer, et la reconnaissance orthographique d'OpenOffice fait le reste...



===== Références =====

  * [[http://www.mandrivauser.de/viewtopic.php?pid=166894#p166894| Le post de MadMax sur xsane2tess]] (de)
  * [[http://www.geocities.com/thierryguy/| "ocube - a tesseract wrapper"]] (en)
  * [[http://www.geocities.com/thierryguy/ocube.html| ocube]] (en)
  * [[tesseract-ocr]] (fr)
  * [[:xsane|XSane]] (fr)
  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=78804| Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.]] (fr)
  * [[http://www.guadalinex.org/participa/foros/hilo/17193| Le fil de discussion sur le forum de Guadalinex]] (sp)
------
//Page réalisée par : [[utilisateurs:Sorbus]] (28 janvier 2008)//
------


